🧑💻 AI-инструменты, которые я использую каждый день
ИИ всё плотнее и плотнее вторгается в наш быт. Разработчики, как и многие другие специалисты, активно используют возможности нейросетей
Расспросили рядового разработчика — как именно он использует нейросети. Смотрите интервью в карточках.
➡️ Интересный формат? Задавайте вопросы в комментариях, а мы найдём экспертов 👇
🐸 Библиотека Go-разработчика #буст
ИИ всё плотнее и плотнее вторгается в наш быт. Разработчики, как и многие другие специалисты, активно используют возможности нейросетей
Расспросили рядового разработчика — как именно он использует нейросети. Смотрите интервью в карточках.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Команда дня: профилирование Go-приложения
С помощью встроенного pprof можно быстро собирать и визуализировать данные о производительности Go-кода.
Команда, чтобы запустить все бенчмарки с CPU-профилированием и открыть интерактивный отчёт в браузере:
Помимо CPU-профиля можно использовать:
•
•
🐸 Библиотека Go-разработчика #буст
С помощью встроенного pprof можно быстро собирать и визуализировать данные о производительности Go-кода.
Команда, чтобы запустить все бенчмарки с CPU-профилированием и открыть интерактивный отчёт в браузере:
go test -bench=. -cpuprofile cpu.prof \
&& go tool pprof -http=:8080 cpu.prof
Помимо CPU-профиля можно использовать:
•
-memprofile mem.prof
— профиль использования памяти.•
-blockprofile block.prof
— профиль блокировок.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📣 Сторонние библиотеки или чистый Go
В мире Go-разработки всегда возникает жаркий спор, стоит ли использовать сторонние библиотеки или придерживаться только стандартной библиотеки Go.
• Сторонние библиотеки — ускорение разработки
Использование сторонних библиотек позволяет существенно ускорить процесс разработки, предоставляя готовые решения для множества задач: от работы с базами данных и парсинга JSON до обработки ошибок и логирования.
Многие разработчики уверены, что использование сторонних библиотек — это нормальная практика для ускорения проекта и улучшения качества кода.
• Чистый Go — просто и понятно
С другой стороны, сторонники "чистого Go" утверждают, что стандартная библиотека Go вполне способна покрыть большинство потребностей.
Использование сторонних библиотек может привести к ненужной сложности и зависимостям, которые могут замедлить разработку.
💬 Какой подход предпочитаете вы? Когда стоит прибегать к сторонним библиотекам, а когда лучше использовать чистый Go? Поделитесь своим мнением в комментариях 👇
🐸 Библиотека Go-разработчика #междусобойчик
В мире Go-разработки всегда возникает жаркий спор, стоит ли использовать сторонние библиотеки или придерживаться только стандартной библиотеки Go.
• Сторонние библиотеки — ускорение разработки
Использование сторонних библиотек позволяет существенно ускорить процесс разработки, предоставляя готовые решения для множества задач: от работы с базами данных и парсинга JSON до обработки ошибок и логирования.
Многие разработчики уверены, что использование сторонних библиотек — это нормальная практика для ускорения проекта и улучшения качества кода.
• Чистый Go — просто и понятно
С другой стороны, сторонники "чистого Go" утверждают, что стандартная библиотека Go вполне способна покрыть большинство потребностей.
Использование сторонних библиотек может привести к ненужной сложности и зависимостям, которые могут замедлить разработку.
💬 Какой подход предпочитаете вы? Когда стоит прибегать к сторонним библиотекам, а когда лучше использовать чистый Go? Поделитесь своим мнением в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Неделя в фокусе
Собрали для вас основные события и материалы, которые стоит обсудить по итогам недели.
— tldx: инструмент для быстрого поиска доступных доменов
tldx позволяет генерировать умные пермутации доменов с использованием префиксов, суффиксов и различных TLD, а также проверять их доступность с помощью RDAP.
— godump v1.2.0
В новой версии будет добавлена поддержка шестнадцатеричного вывода, новая функция Fdump для записи дампа в io.Writer, улучшена обработка пользовательских типов и устранена паника при дампе структур.
— Свежий выпуск Cup o' Go
В новом эпизоде Cup o' Go обсуждают, как внедрение автономных AI-агентов влияет на рабочие процессы.
— Otter v2.0.0
Вышла новая версия Otter — библиотеки кэширования для Go. В этой версии полностью переработан API для повышения гибкости.
Добавлены функции загрузки и обновления данных, защита от HashDoS-атак, а также улучшены механизмы планирования задач и буферизации.
— Наш опрос про ИИ
🐸 Библиотека Go-разработчика #свежак
Собрали для вас основные события и материалы, которые стоит обсудить по итогам недели.
— tldx: инструмент для быстрого поиска доступных доменов
tldx позволяет генерировать умные пермутации доменов с использованием префиксов, суффиксов и различных TLD, а также проверять их доступность с помощью RDAP.
— godump v1.2.0
В новой версии будет добавлена поддержка шестнадцатеричного вывода, новая функция Fdump для записи дампа в io.Writer, улучшена обработка пользовательских типов и устранена паника при дампе структур.
— Свежий выпуск Cup o' Go
В новом эпизоде Cup o' Go обсуждают, как внедрение автономных AI-агентов влияет на рабочие процессы.
— Otter v2.0.0
Вышла новая версия Otter — библиотеки кэширования для Go. В этой версии полностью переработан API для повышения гибкости.
Добавлены функции загрузки и обновления данных, защита от HashDoS-атак, а также улучшены механизмы планирования задач и буферизации.
— Наш опрос про ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Go | тесты, код, задания
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Go | тесты, код, задания
Golang-разработчик — удаленно в Уфе.
Golang Developer — от 270 000 ₽, удаленно в СПб.
Backend Developer (PHP/Go) — Кипр
Golang Developer — удалённо по всему миру.
Team Lead команды Aвиа — от 420 000 ₽, удаленно в Москве.
Junior / Middle Backend Developer — от 130 000 ₽, удаленно.
Бустер — удалённо, офис строится под вас.
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 ffuf – секретный сканер
Каждый спрятанный файл, каждая невидимая директория – потенциальная дыра в вашей защите.
ffuf – лёгкий и молниеносный фреймворк для фаззинга, готовый найти то, что скрывают сервера.
ffuf задействует простую, но эффективную идею: вместо ручного перебора он подставляет маркер FUZZ в URL и в заголовок Host, после чего обходит наборы словарей и оценивает их.
Такой подход позволяет сразу отсеивать «шум» и сосредоточиться на интересных результатах, а фильтры дают возможность настроить шаблоны отбора.
➡️ Репозиторий проекта
🐸 Библиотека Go-разработчика #буст
Каждый спрятанный файл, каждая невидимая директория – потенциальная дыра в вашей защите.
ffuf – лёгкий и молниеносный фреймворк для фаззинга, готовый найти то, что скрывают сервера.
ffuf задействует простую, но эффективную идею: вместо ручного перебора он подставляет маркер FUZZ в URL и в заголовок Host, после чего обходит наборы словарей и оценивает их.
Такой подход позволяет сразу отсеивать «шум» и сосредоточиться на интересных результатах, а фильтры дают возможность настроить шаблоны отбора.
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Организация кода в Go: пакеты, импорты и модули
Погружаемся в основы структуры проектов на Go и подробно разбираем, как правильно работать с пакетами. В карточках основная информация, а глубже разобрали в самоучителе.
➡️ Читать третью часть самоучителя
🐸 Библиотека Go-разработчика #буст
Погружаемся в основы структуры проектов на Go и подробно разбираем, как правильно работать с пакетами. В карточках основная информация, а глубже разобрали в самоучителе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💣 Как настроить отказоустойчивое хранилище данных? Дарим гайд за прохождение теста по HighLoad!
🏆 Пройди тест из 29 вопросов, проверь свой уровень знаний и получи файл “Как настроить отказоустойчивое хранилище данных“! Тест проводится в рамках курса Highload Architect
👉 Пройти тест и забрать файл: https://clc.to/da6RNw
Если успешно пройдешь тест, то так же сможешь забронировать место в группе по выгодной цене!
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🏆 Пройди тест из 29 вопросов, проверь свой уровень знаний и получи файл “Как настроить отказоустойчивое хранилище данных“! Тест проводится в рамках курса Highload Architect
👉 Пройти тест и забрать файл: https://clc.to/da6RNw
Если успешно пройдешь тест, то так же сможешь забронировать место в группе по выгодной цене!
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Redis — отличный инструмент для улучшения производительности вашего приложения. Если Redis уже настроен, давайте сосредоточимся на интеграции его в ваш Go-проект.
1. Установка библиотеки
Самая простая часть. Команда для установки:
go get github.com/go-redis/redis/v8
2. Инициализация клиента
Чтобы обращаться к Redis нам нужен контекст и инициализированный клиент:
// Создаем контекст, который будет использоваться для всех операций с Redis
var ctx = context.Background()
// Функция для инициализации клиента Redis
func initRedisClient() *redis.Client {
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379", // Адрес Redis сервера
Password: "", // Пароль (если есть)
DB: 0, // Индекс базы данных
})
// Проверим подключение
_, err := client.Ping(ctx).Result()
if err != nil {
log.Fatalf("Не удалось подключиться к Redis: %v", err)
}
return client
}
3. Пишем функции
Теперь мы готовы записывать и читать значения.
Функция для записи:
func setKey(client *redis.Client, key, value string) {
err := client.Set(ctx, key, value, 0).Err() // 0 означает, что ключ будет храниться в Redis бесконечно
if err != nil {
log.Fatalf("Ошибка при записи в Redis: %v", err)
}
fmt.Println("Ключ успешно записан в Redis")
}
В функции
setKey()
мы записываем значение в Redis. Мы используем метод Set(), который принимает три параметра:• key — ключ, который будет использоваться для хранения
• value — значение, которое будет храниться.
• 0 — это время жизни ключа. Если указать 0, ключ будет храниться бесконечно.
Функция для чтения:
func getKey(client *redis.Client, key string) string {
val, err := client.Get(ctx, key).Result()
if err == redis.Nil {
fmt.Println("Ключ не найден")
return ""
} else if err != nil {
log.Fatalf("Ошибка при чтении из Redis: %v", err)
}
return val
}
Здесь мы пытаемся получить значение по ключу с помощью метода
Get()
. Если ключ не найден, Redis вернет ошибку redis.Nil
, и мы корректно обрабатываем этот случай.Это полезная основа, на которой можно строить более сложные системы с кэшированием, хранением сессий и очередями задач.
Please open Telegram to view this post
VIEW IN TELEGRAM